Contact centers, such as Automatic Contact Distribution or ACD systems, are employed by many enterprises to service customer contacts. A typical contact center includes a switch and/or server to receive and route incoming packet-switched and/or circuit-switched contacts to one or more resources, such as human agents and automated resources (e.g., Interactive Voice Response (IVR) units), to service the incoming contacts. Contact centers distribute contacts, whether inbound or outbound, for servicing to any suitable resource according to predefined criteria. In many existing systems, the criteria for servicing the contact from the moment that the contact center becomes aware of the contact until the contact is connected to an agent are customer-specifiable (i.e., programmable by the operator of the contact center), via a capability contacted contact vectoring. Normally in present-day ACDs when the ACD system's controller detects that an agent has become available to handle a contact, the controller identifies all predefined contact-handling skills of the agent (usually in some order of priority) and delivers to the agent the highest-priority oldest contact that matches the agent's highest-priority skill. Generally, the only condition that results in a contact not being delivered to an available agent is that there are no contacts waiting to be handled.
Most present-day contact-distribution algorithms focus on being “fair” to contacters and to agents. This fairness is reflected by the standard first-in, first-out contact to most-idle-agent assignment algorithm. Skills-based routing improves upon this basic algorithm in that it allows each agent to be slotted into a number of agent groups based on the agent's skill types and levels.
The primary objective of contact-distribution algorithms is to ultimately maximize contact center performance and profitability. That may involve minimizing cost, maximizing contact throughput, and/or maximizing revenue, among others. For example, when a new contact arrives, the contact should be handled by an agent who either has the ability to produce the most revenue or can handle the contact in the shortest amount of time. Also, when an agent becomes available to handle a new contact, the agent should handle either the contact that has the possibility of generating the most revenue or the contact which the agent is most efficient in handling.
Although current algorithms, including skills-based routing algorithms, attempt to determine and assign a value to a customer contacting the contact center to better service the customer, the value is typically associated with an estimate of gross revenue based on historical revenue realized from contact center interaction with the customer. The estimate of historical revenue, however, fails to reflect the true value of the customer to the contact center. For example, if a first customer uses low cost contact center resources and/or media to purchase a product he or she may be treated the same as or worse than a second customer who uses much higher cost contact center resource(s) or media to purchase a slightly higher value product. This disparity results from the fact that profit margin(s) associated with sales to the customer are not taken into account. If the contact center had a real sense of the value of a particular customer to the business serviced by the contact center and used that information to decide how to handle interactions with that customer, the contact center could maximize the efficiency and effectiveness of those interactions, thereby maximizing customer satisfaction and sales revenue to the business.